package learning.crf.inference;

import learning.crf.training.CRFParameters;
import learning.data.Dataset;
import learning.data.document.SequenceDocument;
import learning.util.SparseVector;

public interface IParseScorer {

	
	public void setDataset(Dataset<SequenceDocument> dataset);
	
	// transition + output scores
	public float scoreTransition(int pos, int previousState, int state);
	
	public SparseVector getFeatures(int pos, int previousState, int state);
	
	// set document
	public void setDocument(SequenceDocument doc);
	
	// set params
	public void setParameters(CRFParameters parameters);
}
